package com.shop.dao;

import com.shop.bean.Product;
import com.shop.bean.Product_images;
import com.shop.util.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;


//springboot 提供的标注数据访问层实现的类
@Mapper
public interface ProductDao {
    //@Param("product")添加别名
    int addProduct(@Param("product") Product product);
    int addProductImages(@Param("productId") int productId, @Param("productImages") List<Product_images> productImages);
    int editProductImages(@Param("productId") int productId, @Param("productImages") List<Product_images> productImages);
    int deleteProduct(@Param("id") int id);
    int putOn(@Param("id") int id);
    int putOff(@Param("id") int id);
    int editProduct(@Param("product") Product product);
    //查询一个
    Product getProductById(@Param("id") int id);
    //查询多个
    List<Product> selectProducts(@Param("page") Page page, @Param("text") String text);

    //精准查询
    List<Product> getProductByCategoryAndName(@Param("product") Product product,@Param("page")Page page, @Param("text")String text);
    //查询子分类
    List<Product> getChildren(@Param("id") int id);
    int getCount(@Param("text") String text);
    int getCounts(@Param("text") String text,@Param("product") Product product);

    //真删除图片表
    int deleteImg(@Param("productId") int id);

    int decStock(@Param("productId") int productId, @Param("quantity") int quantity);
}